<template>
  <div>
    <!-- 点击显示二维码的图标 -->
    <svg-icon icon-class="wechat" @click="showQrcode = true" class="qrcode-trigger" />

    <!-- 二维码弹窗背景（半透明遮罩） -->
    <div
      v-if="showQrcode"
      class="qrcode-mask"
      @click="showQrcode = false"
    >
      <!-- 二维码容器（点击内部不关闭弹窗） -->
      <div
        class="qrcode-container"
        @click.stop
      >
        <!-- 关闭按钮 -->
        <div class="close-btn" @click="showQrcode = false">×</div>

        <!-- 二维码图片 -->
        <div class="qrcode-wrapper">
          <img
            :src="qrcodeUrl"
            alt="微信小程序二维码"
            class="qrcode-img"
          >
        </div>

        <!-- 二维码下方说明文字 -->
        <p class="qrcode-desc">扫码打开微信小程序</p>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'WechatQrcode',
  data() {
    return {
      // 控制二维码弹窗显示/隐藏
      showQrcode: false,
      // 微信小程序二维码图片地址
      qrcodeUrl: '/wechart/wechat-mini.jpg' // 这里替换为实际的二维码图片URL
    }
  }
}
</script>

<style scoped>
/* 点击图标的样式 */
.qrcode-trigger {
  cursor: pointer;
  font-size: 24px;
  color: #409EFF; /* 蓝色，可根据主题调整 */
  transition: color 0.3s;
}

.qrcode-trigger:hover {
  color: #6AA1FF;
}

/* 遮罩层样式 */
.qrcode-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  animation: fadeIn 0.3s;
}

/* 二维码容器样式 */
.qrcode-container {
  position: relative;
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
  animation: scaleIn 0.3s;
}

/* 关闭按钮样式 */
.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
  color: #999;
  cursor: pointer;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  transition: all 0.3s;
}

.close-btn:hover {
  background-color: #f5f5f5;
  color: #333;
}

/* 二维码图片样式 */
.qrcode-wrapper {
  margin-bottom: 15px;
}

.qrcode-img {
  width: 400px;
  height: 400px;
  display: block;
  margin: 0 auto;
}

/* 说明文字样式 */
.qrcode-desc {
  text-align: center;
  color: #333;
  margin: 0;
  font-size: 14px;
}

/* 动画效果 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes scaleIn {
  from { transform: scale(0.9); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
</style>
